negotiator.boaframework.omstrategy
Class NTFTstrategy

java.lang.Object
  extended by negotiator.boaframework.OMStrategy
      extended by negotiator.boaframework.omstrategy.NTFTstrategy

public class NTFTstrategy
extends OMStrategy

Implements the opponent model strategy used by the NiceTitForTat agent in the ANAC2011. The strategy selects a random bid from the best N bids. What is special in comparison to OfferBestN, is that N depends on the domain size. Furthermore, the strategy stops updating the opponent model before the deadline. The time at which the updating stops depends on the domain size. This component is part of the NiceTitForTat strategy introduced by T. Baarslag in the ANAC 2011.

Author:
Mark Hendrikx

Field Summary
 
Fields inherited from class negotiator.boaframework.OMStrategy
model, negotiationSession
 
Constructor Summary
NTFTstrategy()
           
 
Method Summary
 boolean canUpdateOM()
          Method which specifies when the opponent model may be updated.
 BidDetails getBid(java.util.List<BidDetails> bidsInRange)
          Selects a random bid from the best N bids, where N depends on the domain size.
 void init(NegotiationSession negotiationSession, OpponentModel model)
          Initializes the agent by storing the size of the domain, and checking if the domain is large.
 void init(NegotiationSession negotiationSession, OpponentModel model, java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          Initialize method to be used by the BOA framework.
 
Methods inherited from class negotiator.boaframework.OMStrategy
getBid, getBid, setOpponentModel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NTFTstrategy

public NTFTstrategy()
Method Detail

init

public void init(NegotiationSession negotiationSession,
                 OpponentModel model,
                 java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          throws java.lang.Exception
Description copied from class: OMStrategy
Initialize method to be used by the BOA framework.

Overrides:
init in class OMStrategy
Parameters:
negotiationSession - state of the negotiation.
model - opponent model to which the opponent model strategy applies.
parameters - for the opponent model strategy, for example the maximum update time.
Throws:
java.lang.Exception - thrown when initializing the opponent model strategy fails.

init

public void init(NegotiationSession negotiationSession,
                 OpponentModel model)
Initializes the agent by storing the size of the domain, and checking if the domain is large.

Overrides:
init in class OMStrategy
Parameters:
negotiationSession - state of the negotiation.
model - opponent model used in conjunction with this opponent modeling strategy.

getBid

public BidDetails getBid(java.util.List<BidDetails> bidsInRange)
Selects a random bid from the best N bids, where N depends on the domain size.

Specified by:
getBid in class OMStrategy
Parameters:
set - of similarly preferred bids.
Returns:
nextBid to be offered

canUpdateOM

public boolean canUpdateOM()
Method which specifies when the opponent model may be updated. In small domains the model may be updated up till 0.99 of the time. In large domains the updating process stops half way.

Specified by:
canUpdateOM in class OMStrategy
Returns:
true if the opponent model may be updated